package com.terren.webdig.setting.service;

import java.util.List;

import com.terren.webdig.basic.IBasicServiceSupport;
import com.terren.webdig.setting.entity.LoginUser;
import com.terren.webdig.setting.entity.UserRole;

public interface IUserConfigService extends IBasicServiceSupport{
	
	/**
	 * 查询所有用户列表
	 * @param start
	 * @param limit
	 * @return
	 */
	List<LoginUser> getUserList(LoginUser loginUser) throws Exception;
	/**
	 * 
	 * 获取用户类型
	 */
	List<LoginUser> getUserTypeList(LoginUser user)throws Exception;
	
	/**
	 * 添加用户
	 * @param loginUser
	 * @return
	 * @throws Exception
	 */
	String saveUser(LoginUser loginUser) throws Exception;
	/**
	 * 批量添加用户
	 * @param list
	 * @throws Exception
	 */
	void saveUserList(List<LoginUser> list) throws Exception;
	/**
	 * 添加角色用户对应关系
	 * @param list
	 * @return
	 * @throws Exception
	 */
	Integer saveUserRole(List<UserRole> list) throws Exception ;
	/**
	 * 批量添加角色用户对应关系
	 * @param list
	 * @return
	 * @throws Exception
	 */
	Boolean saveUserRoleList(List<UserRole> list) throws Exception ;
	/**
	 * 删除用户
	 * @param loginUser
	 * @return
	 * @throws Exception
	 */
	List<LoginUser> deleteUser(LoginUser loginUser) throws Exception;
	
	LoginUser getUserByIdAll(LoginUser loginUser) throws Exception;
	
	LoginUser getUserByIds(LoginUser loginUser) throws Exception;
	/**
	 * 用户下拉框，报表权限管理中，添加时用到
	 * @param loginUser
	 * @return
	 * @throws Exception
	 */
	List<LoginUser> getUserOption(LoginUser loginUser) throws Exception;
	/**
	 * 修改密码
	 * @param loginUser
	 * @return
	 * @throws Exception
	 */
	String editPassword(LoginUser loginUser) throws Exception;
	/**
	 * 查看用户名是否重复
	 * @param loginUser
	 * @return
	 * @throws Exception
	 */
	List<LoginUser> isRepeat(LoginUser loginUser) throws Exception;	
}
